#pragma once

#include "Misc/CommonMacros.h"
#include "IPAddress.h"
#include "Containers/ThreadSafePtr.h"

class WHENGINE_API CUDPClient  : public EnableThreadSafeSharedPtrFromThis<CUDPClient>
{
public:
    CUDPClient();
    ~CUDPClient();

    void Send(const TVector<uint8_t>& Data,const SIPAddress & IP, uint16_t Port);
    void Send(const CString& InMessage,const SIPAddress & IP, uint16_t Port);
    void Send(const CString8& InMessage,const SIPAddress & IP, uint16_t Port);    
protected:
    //uint32_t MaxSendableMessageSize=0;
    void* PlatformSocket = nullptr;

};